An abundance of information is available to users on a wide variety of topics from a variety of sources. For example, portions of the World Wide Web (“the Web”) are akin to an electronic library of documents and other data resources distributed over the Internet, with billions of documents available. In addition, various other information is available via other communication mediums.
With the abundance of available information, locating documents and other information that match particular interests of a user can be difficult. One option for attempting to locate documents involves performing searches using various Web-based search engines. A typical Web search involves a user providing a search query that includes one or more search terms to a search engine, with the search query in some situations also including one or more logical search operators (e.g., “AND”, “OR”, “NOT”, an indication that a particular search term is required, etc.) that are each related to one or more of the search terms. After receiving such a search query, the search engine typically identifies at least some available documents whose contents match the search query (e.g., the contents include each of the required search terms), generates one or more Web pages that include links to one or more of the identified documents, and provides one or more of the generated Web pages to the user as search results for the search query. In addition, different users entering the same search string typically receive the same search results.
Various techniques are used by search engines to identify documents whose contents match particular search terms. For example, some search engines do automated pre-processing prior to receiving search requests in order to create an index that maps terms to Web pages whose contents include those terms. Such pre-processing typically uses an automated program called a “Web spider” that crawls the Web to identify documents to index, such as by traversing links from known Web pages to new Web pages. In addition, some search engines use manual categorization of documents to track which Web pages are related to specified categories and/or terms, such as via a hierarchical directory of categories and sub-categories. Thus, search results from a search engine may be based in some cases on information from an automatically pre-generated index and/or from a manually pre-generated category directory.
However, existing search engines and other techniques for identifying information of interest suffer from various problems.